# Time: 2021/3/8  14:24


from sqlalchemy import Column, String, INTEGER, create_engine
from sqlalchemy.orm import sessionmaker, scoped_session
from sqlalchemy.ext.declarative import declarative_base
import pymysql

"""
    说明:
        @ 这里的create_engine进行的操作是创建数据库连接,填写参数格式如下: 
        @ '数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'
        @ 这里使用了.format函数,这就是个占位符,在format中按顺序填写就好,也可以指定编号比如{1}
"""
DATABASENAME = 'searchDB'
IPADDRESS = '127.0.0.1'
PORT = 3306
# 创建连接
engine = create_engine(
    "mysql+pymysql://root:123456@{}:{}/{}?charset=utf8mb4".format(
        IPADDRESS,
        PORT,
        DATABASENAME,
    )
)

"""
    说明:
        @ 这里的sessionmaker是一个工厂类,按照我们创建的engine绑定了数据库引擎
        @ 当我们使用这个Session的时候都会创建一个绑定引擎的Session,通过Session操作数据库
"""
DBSession = sessionmaker(bind=engine)

db_session: DBSession = scoped_session(
    sessionmaker(
        autocommit=False,
        autoflush=False,
        bind=engine,
    )
)

# 创建一个父类数据库
Base = declarative_base()


